package acwing._1_1AlgorithmBasic._5DynamicProgramming;
/**
 * @Project : AlgorithmLearning
 * @Package : ACWing._1_1AlgorithmBasic._5DynamicProgramming
 * @File : Q0900.java
 * @Author : WangRuoyu
 * @Date : 2023/4/6 16:42
 */

import java.io.*;

public class Q0900 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] words = br.readLine().split(" ");
        int n = Integer.parseInt(words[0]);
        final int MOD = 1000000007;

//        int[][] f = new int[n + 1][n + 1];
//        f[0][0] = 1;
//        for (int i = 1; i <= n; ++i) {
//            for (int j = 0; j <= n; ++j) {
//                f[i][j] = f[i - 1][j];
//                if (j >= i) {
//                    f[i][j] = (f[i][j] + f[i][j - i]) % MOD;
//                }
//            }
//        }
//        System.out.println(f[n][n]);

        int[] f = new int[n + 1];
        f[0] = 1;
        for (int i = 1; i <= n; ++i) {
            for (int j = i; j <= n; ++j) {
                f[j] = (f[j] + f[j - i]) % MOD;
            }
        }
        System.out.println(f[n]);
    }
}

